convoviz 0.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. convoviz/__init__.py +34 -0
  2. convoviz/__main__.py +6 -0
  3. convoviz/analysis/__init__.py +22 -0
  4. convoviz/analysis/graphs.py +879 -0
  5. convoviz/analysis/wordcloud.py +204 -0
  6. convoviz/assets/colormaps.txt +15 -0
  7. convoviz/assets/fonts/AmaticSC-Regular.ttf +0 -0
  8. convoviz/assets/fonts/ArchitectsDaughter-Regular.ttf +0 -0
  9. convoviz/assets/fonts/BebasNeue-Regular.ttf +0 -0
  10. convoviz/assets/fonts/Borel-Regular.ttf +0 -0
  11. convoviz/assets/fonts/Courgette-Regular.ttf +0 -0
  12. convoviz/assets/fonts/CroissantOne-Regular.ttf +0 -0
  13. convoviz/assets/fonts/Handjet-Regular.ttf +0 -0
  14. convoviz/assets/fonts/IndieFlower-Regular.ttf +0 -0
  15. convoviz/assets/fonts/Kalam-Regular.ttf +0 -0
  16. convoviz/assets/fonts/Lobster-Regular.ttf +0 -0
  17. convoviz/assets/fonts/MartianMono-Regular.ttf +0 -0
  18. convoviz/assets/fonts/MartianMono-Thin.ttf +0 -0
  19. convoviz/assets/fonts/Montserrat-Regular.ttf +0 -0
  20. convoviz/assets/fonts/Mooli-Regular.ttf +0 -0
  21. convoviz/assets/fonts/Pacifico-Regular.ttf +0 -0
  22. convoviz/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  23. convoviz/assets/fonts/Raleway-Regular.ttf +0 -0
  24. convoviz/assets/fonts/RobotoMono-Regular.ttf +0 -0
  25. convoviz/assets/fonts/RobotoMono-Thin.ttf +0 -0
  26. convoviz/assets/fonts/RobotoSlab-Regular.ttf +0 -0
  27. convoviz/assets/fonts/RobotoSlab-Thin.ttf +0 -0
  28. convoviz/assets/fonts/Ruwudu-Regular.ttf +0 -0
  29. convoviz/assets/fonts/Sacramento-Regular.ttf +0 -0
  30. convoviz/assets/fonts/SedgwickAveDisplay-Regular.ttf +0 -0
  31. convoviz/assets/fonts/ShadowsIntoLight-Regular.ttf +0 -0
  32. convoviz/assets/fonts/TitilliumWeb-Regular.ttf +0 -0
  33. convoviz/assets/fonts/Yellowtail-Regular.ttf +0 -0
  34. convoviz/assets/fonts/YsabeauOffice-Regular.ttf +0 -0
  35. convoviz/assets/fonts/YsabeauSC-Regular.ttf +0 -0
  36. convoviz/assets/fonts/YsabeauSC-Thin.ttf +0 -0
  37. convoviz/assets/fonts/Zeyada-Regular.ttf +0 -0
  38. convoviz/assets/stopwords.txt +1 -0
  39. convoviz/cli.py +149 -0
  40. convoviz/config.py +120 -0
  41. convoviz/exceptions.py +47 -0
  42. convoviz/interactive.py +264 -0
  43. convoviz/io/__init__.py +21 -0
  44. convoviz/io/assets.py +109 -0
  45. convoviz/io/loaders.py +191 -0
  46. convoviz/io/writers.py +231 -0
  47. convoviz/logging_config.py +69 -0
  48. convoviz/models/__init__.py +24 -0
  49. convoviz/models/collection.py +115 -0
  50. convoviz/models/conversation.py +158 -0
  51. convoviz/models/message.py +218 -0
  52. convoviz/models/node.py +66 -0
  53. convoviz/pipeline.py +184 -0
  54. convoviz/py.typed +0 -0
  55. convoviz/renderers/__init__.py +10 -0
  56. convoviz/renderers/markdown.py +269 -0
  57. convoviz/renderers/yaml.py +119 -0
  58. convoviz/utils.py +155 -0
  59. convoviz-0.4.1.dist-info/METADATA +215 -0
  60. convoviz-0.4.1.dist-info/RECORD +62 -0
  61. convoviz-0.4.1.dist-info/WHEEL +4 -0
  62. convoviz-0.4.1.dist-info/entry_points.txt +3 -0
convoviz/__init__.py ADDED
@@ -0,0 +1,34 @@
1
+ """Convoviz - ChatGPT data visualization and export tool."""
2
+
3
+ from convoviz import config, io, models, renderers, utils
4
+ from convoviz.config import ConvovizConfig, get_default_config
5
+ from convoviz.models import Conversation, ConversationCollection, Message, Node
6
+ from convoviz.pipeline import run_pipeline
7
+
8
+ __all__ = [
9
+ # Submodules
10
+ "analysis",
11
+ "config",
12
+ "io",
13
+ "models",
14
+ "renderers",
15
+ "utils",
16
+ # Main classes
17
+ "Conversation",
18
+ "ConversationCollection",
19
+ "ConvovizConfig",
20
+ "Message",
21
+ "Node",
22
+ # Functions
23
+ "get_default_config",
24
+ "run_pipeline",
25
+ ]
26
+
27
+
28
+ def __getattr__(name: str):
29
+ """Lazy import for optional submodules like analysis."""
30
+ if name == "analysis":
31
+ from convoviz import analysis
32
+
33
+ return analysis
34
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
convoviz/__main__.py ADDED
@@ -0,0 +1,6 @@
1
+ """Allow running convoviz as a module: python -m convoviz"""
2
+
3
+ from convoviz.cli import main_entry
4
+
5
+ if __name__ == "__main__":
6
+ main_entry()
@@ -0,0 +1,22 @@
1
+ """Data analysis and visualization for convoviz.
2
+
3
+ Requires the [viz] extra: uv tool install "convoviz[viz]"
4
+ """
5
+
6
+ __all__ = [
7
+ "generate_week_barplot",
8
+ "generate_wordcloud",
9
+ ]
10
+
11
+
12
+ def __getattr__(name: str):
13
+ """Lazy import for visualization functions requiring optional dependencies."""
14
+ if name == "generate_week_barplot":
15
+ from convoviz.analysis.graphs import generate_week_barplot
16
+
17
+ return generate_week_barplot
18
+ if name == "generate_wordcloud":
19
+ from convoviz.analysis.wordcloud import generate_wordcloud
20
+
21
+ return generate_wordcloud
22
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")